#include <stdio.h>
#include <string.h>

// 传数组的时候，要传三要素，即数组名和范围
// 传字符串的时候，此时只需要传 p 和 arr ，因为字符串自带结束标志 '\0'


// 标准库是不做入参检查。
int myStrlen(char *str)
{
    // 入参检查
//    if (str == NULL)
//        exit(1);
    int len;
    for(len = 0; *str++; len++);
    return len;
}

int main()
{
    char *p = "China"; // 将指针赋给 p
    char arr[] = "China"; // 将指针指向的内容赋给了 arr（一段指向的内存）

//    char *q = p;
    char *q = arr;
    int count = 0;
//    while (*q != '\0')
//        while (*q)
//    while (*q++)
//    {
//        count++;
////        q++;
//    }
    for(count = 0; *q++; count++);

    printf("count = %d\n",count);
//    int len = strlen(p);
//    int len = strlen(arr);
    int len = myStrlen(arr);
    printf("len = %d\n",len);
    return 0;
}
